home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hottest 6
/
Hottest 6 (1996)(PDSoft)[!].iso
/
software
/
emulators
/
magic64
/
magic64.anleitung
< prev
next >
Wrap
Text File
|
1978-11-24
|
33KB
|
907 lines
I Einleitung
1.1 Was ist MagiC64 ?
1.2 Warum 1995 ein C64-Emulator ?
1.3 System-Anforderungen
II Kurze Einführung
2.1 Der schnelle Einstieg
III Der Emulator
3.1 Copyright und Registrierung
3.2 Speichern
3.3 Grafik
3.4 Cpu & Rom
3.5 Video
3.6 Sprites
3.7 Sound
3.8 Joysticks
3.9 Tastatur
3.10 Floppy
3.11 D64-Disks
3.12 T64-Tapes
3.13 P00-Files
3.14 Disk Status
3.15 Starten
3.16 Beenden
IV Die Floppy-Emulation
4.1 Grundsätzliches
4.2 Unterstützte Funktionen
4.3 Nicht unterstützte Funktionen
V Häufig gestellte Fragen
5.1 Wie geht´s schneller ?
5.2 Was auf dem Emulator nicht läuft
5.3 Warum reagiert der Emulator nicht ?
VI Grüße und Danksagungen
I Einleitung
1.1 Was ist MagiC64 ?
MagiC64 ist ein C64-Emulator für den Amiga, der die Eigenschaften
eines realen C64 möglichst genau nachbildet. Der Emulator ist mit
den folgenden Möglichkeiten ausgestattet:
- komplette Emulation der 6510-CPU
(inklusive illegaler Opcodes)
- zeilenweise VIC-Emulation
- alle Grafik-Modi
- horizontales und vertikales Scrolling
- komplette Sprite-Emulation
- Sprite-Sprite Kollisionen
- Sprite-Hintergrund Kollisionen
- Sound-Emulation über 6581sid.library
(nur in der registrierten Version von MagiC64)
- ROM-Emulation, Benutzung der Original-Roms
ist ebenfalls möglich
- Tastatur- und Joystickeingabe
- Floppy 1541 Emulation
- Fastload und Fastsave für alle Programme
- Unterstützung der meisten 1541-Kommandos
- Unterstützung der Formate D64, T64 und P00.
- Konvertierung zwischen allen drei Formaten möglich
- Grafikroutinen auf Bitplanezugriff optimiert, auf
schnellen Amigas läuft die Emulation mit Original
C64-Geschwindigkeit.
- Emulator läuft im Multitasking und ist absolut
betriebssystem konform programmiert.
1.2 Warum 1995 ein C64-Emulator ?
Der Emulator wurde zu einer Zeit geschrieben, als es noch keine
meiner Meinung nach vernünftigen C64-Emulatoren für den Amiga
gab. Vorbild für MagiC64 waren auch die C64-Emulatoren für den
PC, die mittlerweile ein eindrucksvolles Niveau erreicht haben.
Folgerichtig unterstützt MagiC64 die wichigsten PC-Formate, da
fast alle C64-Programme in einem dieser Formate vorliegen. Ein
weiteres Ziel bei der Entwicklung von MagiC64 war eine ver-
nünftige Geschwindigkeit der Emulation. Deshalb wurde besonderer
Wert auf schnelle Grafikroutinen gelegt, die bei MagiC64 auf
Bitplane-Zugriff optimiert wurden. Es findet keine Umwandlung
von Chunky nach Planar statt, was die Grafikausgabe drastisch
beschleunigt.
Mit MagiC64 können nun auch Amigabesitzer noch einmal in den
Genuß all der Spiele und Programme kommen, die zwar nicht mehr
mit ihrer Grafik überzeugen, sich gegenüber heutigen Render-
und Soundorgien aber wohltuend durch Spielwitz hervorheben.
Außerdem besitzt MagiC64 die üblichen Eigenschaften, die nur ein
Emulator bieten kann. Dazu gehören Fastload, Fastsave und die
Möglichkeit, ein C64-Programm zu jedem Zeitpunkt anhalten und
später wieder fortsetzen zu können.
1.3 System-Anforderungen
Eine C64-Emulation ist, wenn sie wie MagiC64 zeilenorientiert
arbeitet, ziemlich rechenintensiv. Deshalb ist mindestens ein
68020 nötig, empfohlen wird jedoch ein schneller 68030 oder
ein 68040. Die Grafikroutinen benötigen zudem einigen Speicher
für Lookup-Tabellen, insgesamt sollte deshalb 1,7 MB freier
Speicher zur Verfügung stehen, wobei sich schnelles Fastram
(beim A4000 ein Paradoxon) positiv auswirkt. Auf einem Rechner
wie dem A4000 oder einem Amiga mit 68030-Turbokarte sollte aber
ungetrübtes Spielvergnügen garantiert sein. Auf der Software-
seite wird Kickstart 2.04 oder höher benötigt, die besonderen
Fähigkeiten von Kickstart 3.0 bezüglich Screen-Doublebuffering
werden ebenfalls genutzt. Das Ganze noch einmal im Überblick:
- 68020 oder höher
- 1,7 MB freier Speicher
- Kickstart 2.04 oder höher
Der Emulator läuft natürlich auch auf Rechnern ohne AGA-Chipset
problemlos.
II Schnellstart
2.1 Der schnelle Einstieg
Der Emulator kann vom CLI oder der Workbench gestartet werden.
In der unregistrierten Version wird zunächst ein Fenster mit
den Coypright- und Registrierbedingungen angezeigt, das mit einem
Klick auf den OK-Button weggeklickt werden kann. Es erscheint nun
ein Fenster mit verschiedenen Auswahlknöpfen. Mit dem START-Button
gelangt man in den C64-Modus, aus dem jederzeit mit der ESC-Taste
wieder zum Emulatorfenster zurückkehren kann. Dabei wird der
aktuelle Zustand der Emulation eingefroren. Um ein Programm zu
starten, wählt man unter dem Punkt "DISK & TAPE" das entsprechende
Format. Unterstüzt werden hierbei D64-Files, die Images einer
1541-Diskette darstellen, T64-Files, die ebenfalls mehrere C64-
Programme enthalten können und P00-Files, die jeweils ein einzel-
nes C64-Programm repräsentieren. Wählt man T64 oder P00, so werden
alle Files im aktuellen T64- oder P00-Directory durchgescannt, die
C64-Namen der Programme erscheinen anschließend in einem Requester.
Doppelklick auf einen Programmnamen lädt und startet das ent-
sprechende Programm, wobei automatisch in den C64-Modus zurück-
gekehrt wird. Bleibt der Requester leer, so kann man mit dem Button
T64-DIRECTORY bzw. P00-DIRECTORY das Directory setzen, wo sich
die entsprechenden Files befinden. Dabei wird der Requester auto-
matisch aktualisiert. Möchte man D64-Files benutzen, so wählt man
im entsprechenden Requester zunächst "D64 laden" und klickt ein
D64-File an. Das Directory dieser Diskette erscheint dann im
Requester, der Programmstart erfolgt wieder durch Doppelklick auf
den Namen. Im C64-Modus kann man mit F9 einen Reset auslösen, wobei
auf ein Modul bei $8000 geprüft wird, sodaß Modulprogramme erneut
starten. F10 führt einen Hard-Reset durch, der auf jeden Fall zur
Einschaltmeldung des Emulators führt. Wurde ein Programm gestartet,
kann man den Joystickport nach Klick auf "Joysticks" ändern. Wem
ein Programm zu langsam läuft, der kann unter "VIDEO" im Requester
"JEDES (N)-TE BILD ANZEIGEN" einen Wert größer als 1 eingeben. Auf
einem A4000 sollte jedes Programm bei einem Wert von 3 mit voller
Geschwindigkeit laufen. Die gleiche Maßnahme zur Geschwindigkeits-
steigerung sollte man auch ergreifen, wenn die Musik zu langsam
klingt. Hier noch einmal die wichtigsten Tasten:
- ESC Rückkehr zum Emulatorfenster
- F9 Reset mit Modulcheck
- F10 Reset ohne Modulcheck
III Der Emulator
3.1 Copyright und Registrierung
MagiC64 liegt in zwei Varianten vor:
- Die unregistrierte Version, in der einige Optionen fehlen,
dafür darf diese Version ohne Beschränkungen kopiert und
verbreitet werden. In dieser Version ist kein Sound vorhanden,
außerdem kann nichts gespeichert werden.
- Die registrierte Vollversion erlaubt die Benutzung sämtlicher
Optionen. Das Kopieren oder Verbreiten dieser Version ist
verboten. Registrierte Benutzer erhalten das erste Update
kostenlos.
Das Copyright für beide Versionen liegt bei:
Michael Kramer
Im Hirschfeld 28
52222 Stolberg
Deutschland
E-Mail: michael_kramer@pop.ac-copy.com
Die Registrierung ist bei obiger Addresse oder per E-Mail
möglich. Wer sich registrieren läßt, erhält die Vollversion
zugeschickt. Die Registrierungsgebühr beträgt 40 DM, zahlbar
in bar oder als Euroscheck. Innerhalb Deutschlands ist auch
ein Versand per Nachnahme möglich.
3.2 Speichern
Speichert sämtliche Einstellungen und Pfade im MagiC64.prefs
File. Diese Option ist nur in der Vollversion verfügbar.
3.3 Grafik
- Videodarstellung
Wird die Videodarstellung ausgeschaltet, so erscheint bei
Klick auf den Startbutton nur ein Fenster mit der Meldung,
daß die Emulation im Hintergrund läuft. Dieser Modus kann
benutzt werden, wenn die Emulation Programme ausführen soll,
die keine oder nur wenige Ausgaben machen. Die Geschwindig-
keit der Emulation steigert sich dadurch stark.
- Bildschirmmodus
Wird "Auswählen ..." angeklickt, kann in einem Standard-
Requester der Bildschirmmodus für den C64-Modus ausgewählt
werden. Da die Emulation mit einer 320x200-Auflösung läuft,
empfiehlt sich ein Modus wie PAL oder DBLPAL, in anderen
Modi wie z.B. EURO72 ist zwar die Bildwiederholfrequenz
höher, es wird jedoch nur etwa ein Viertel des Bildschirms
ausgenutzt. Der Bildschirmmodus kann erst ab Kickstart 2.1
verändert werden, standardmäßig ist PAL bzw. DPLPAL vorge-
geben.
- Bildschirmtyp
In diesem Cycle-Gadget ist augenblicklich eine Auswahl
zwischen Amiga-View und Amiga-Screen möglich. Da Screen-
Doublebuffering erst ab Kickstart 3.0 mit speziellen
Betriebssystemroutinen möglich ist, kann man unter
Kick 2.04 auf den Typ Amiga-View zurückgreifen. Dann
kann man allerdings nicht mit Amiga M auf andere Screens
wechseln. Das Multitasking wird jedoch sonst nicht
beeinträchtigt.
3.4 Cpu & Rom
- Warnung bei Crash-Opcode
Führt die Emulation einen Crash-Opcode z.B. $02 aus, so
wird normalerweise der C64-Modus verlassen und eine Warnung
ausgegeben. Ein richtiger C64 wäre nur durch einen Reset
wieder zum Leben zu erwecken. Folgerichtig bietet der Warn-
Requester die Möglichkeit, einen Reset auszulösen oder
aber die Emulation fortzusetzen. Allerdings ist in diesem
Fall der Druck auf die F10-Taste die einzige noch sinnvolle
Aktion.
- Warnung bei Break-Opcode
Auch das Ausführen des Opcodes $00 (BRK) ist normalerweise
keine sinnvolle Aktion eines C64-Programms. Auch hier
erscheint eine Warnung, wobei die Fortsetzung des Programms
aber möglich sein kann. Man sollte diese Warnungen ausschalten,
wenn man im C64-Modus Monitorprogramme benutzen will.
- Ramtest überspringen
Normalerweise wird bei einem C64-Reset das RAM des C64 über-
prüft. Da man aber eigentlich davon ausgehen kann, das das
RAM in Ordnung ist, wird dieser Test durch einen ROM-Patch
ausgeschaltet, was den Reset deutlich beschleunigt.
- ROM-Emulation / Original ROM
Da die Originalroms aus Copyrightgründen nicht im Emulator
enthalten sein dürfen, wird eine ROM-Emulation benutzt.
Wer will, kann aber auch die Originalroms benutzen. Diese
müssen im Verzeichnis Roms als Dateien mit den Namen
BASIC.ROM, CHAR.ROM und KERNAL.ROM liegen.
3.5 Video
- jedes (n)te Bild darstellen
Hier wird angegeben, welche Bilder der Emulation wirklich
berechnet und dargestellt werden. Je höher dieser Wert,
desto schneller laufen die C64-Programme, da entsprechend
weniger Rechenzeit für die Grafikdarstellung benötigt wird.
Allerdings ist es bei Werten größer als 1 möglich, daß
Spritekollisionen nicht oder erst später erkannt werden.
Dies wirkt sich allerdings bei kaum einem Programm ernst-
haft aus, so daß man diesen Wert bedenkenlos hochsetzen
kann. Empfohlene Werte liegen im Bereich 1 bis 5. Man sollte
diesen Wert auch dann hochsetzen, wenn die Musik zu langsam
klingt, da die Emulation der Sound-Library in diesem Fall
die Daten nicht schnell genug liefert.
- Rasterzeilen-Zyklen
Dies ist ein Wert für die VIC-Emulation, der angibt wieviele
Zyklen eine Rasterzeile dauert. Man kann diesen Wert leicht (!)
ändern, wenn z.B. eine Rasterumschaltung flimmert. Empfohlene
Werte liegen im Bereich 60 bis 66.
- Badline-Zyklen
Gibt die Anzahl der Zyklen für eine BAD-Line an. BAD-Lines sind
Rasterzeilen, in denen der CPU weniger Zyklen zur Verfügung
stehen, da der VIC diese Zyklen benötigt. Auch dieser Wert sollte
wenn überhaupt nur leicht geändert werden. Empfohlene Werte
liegen im Bereich 20 bis 24.
- Start-Zyklus
Gibt den Zyklus an, in dem der VIC mit der Zeichendarstellung
beginnt. Dies ist für vertikales Scrolling von Bedeutung, da
es eine Rolle spielt ob das Scroll-Register vor oder nach diesem
Zyklus beschrieben wird. Wenn also das vertikale Scrolling
nicht richtig funktioniert, kann man diesen Wert abändern.
Empfohlene Werte liegen bei 10 bis 14.
- PAL / NTSC
Gibt an, ob die Emulation intern mit 312 (PAL) oder 256 (NTSC)
Zeilen arbeitet. Einige wenige Spiele laufen nur in einem dieser
beiden Modi. Verwendet man NTSC wird die Emulation etwas
schneller, da weniger Zeilen berechnet werden müssen, allerdings
hat die C64-CPU damit auch weniger Rechenzeit pro Bild zur
Verfügung.
3.6 Sprites
- Spritedarstellung
Hiermit kann die Darstellung von Sprites an- und abgeschaltet
werden. Das Abschalten beschleunigt die Grafikdarstellung
etwas, allerdings ist das Abschalten aller Sprites bei Spielen,
die Sprites benutzen, meistens wenig sinnvoll.
- Sprite-Sprite Kollisionen
Das Ausschalten dieser Option bewirkt, daß keinerlei Kollisionen
zwischen Sprites mehr registriert werden. Die Grafikdarstellung
wird hierdurch etwas schneller. Da viele Spiele eigene Kollisions-
routinen benutzen, kann eine Abschaltung durchaus sinnvoll sein.
- Sprite-Hintergrund Kollisionen
Wird diese Option abgeschaltet, werden Kollisionen von Sprites
mit dem Hintergrund nicht mehr registriert. Nur wenige Spiele
fragen Sprite-Hintergrund Kollisionen hardwaremäßig ab, daher
kann man diese Option meistens abschalten. In diesem Fall wird
die Grafikdarstellung schneller.
Die obigen drei Optionen wirken sich immer auf alle Sprites aus.
Unter Einzeleinstellungen kann man diese Optionen auch für
einzelne Sprites vornehmen. Damit lassen sich Trainerversionen
von Spielen herstellen, da es nun z.B. möglich ist, nur Kollisionen
des Sprites auszuschalten, welches der Spieler steuert. Dies
funktioniert jedoch immer nur dann, wenn Spiele Kollisionen auch
hardwaremäßig abfragen.
3.7 Sound
Sound ist nur in der registrierten Version von MagiC64 verfügbar.
Für Sound wird die 6581sid.library benötigt, die NICHT Bestandteil
des MagiC64-Paketes ist. Diese Library ist in der Demoversion von
A64 enthalten. A64 kann ebenfalls aus dem Aminet bezogen werden.
- Sound an
Hiermit kann man Musik und Soundeffekte an- und abstellen.
Nützlich, wenn ein Spiel einen gar zu nervigen Sound hat.
- Kanäle
Mit diesen drei Buttons kann man die drei Kanäle des SID
gezielt an- und ausschalten.
- Lautstärke
Mit diesem Gadget läßt sich die Maximallautstärke für alle
drei Kanäle einstellen. Damit kann man die Lautstärke der
meisten Programme stufenlos regeln.
3.8 Joysticks
Sowohl der Amiga als auch der C64 besitzen jeweils zwei digitale
Joystickeingänge. Da beim Amiga der Port 0 meistens mit der Maus
belegt ist, lassen sich die die Eingabedaten von Port 1 beliebig
auf die virtuellen Ports 0 und 1 des C64 umleiten. Auch eine
Umleitung eines Amiga-Ports auf beide C64-Ports gleichzeitig ist
möglich. Wählt man diese Einstellung, so müßte jedes Spiel
funktionieren, unabhängig davon, welchen C64-Port es abfragt.
Da beim C64 der Port 1 aber parallel zur Tastatur geschaltet ist,
kann es zu merkwürdigen Effekten kommen, wenn ein Spiel gleich-
zeitig den C64-Port 0 und die Tastatur abfragt. Für Spiele mit
Zweispieler-Modus läßt sich natürlich auch der Amiga-Port 0
verwenden, allerdings muß dann die Maus abgezogen werden.
3.9 Tastatur
- Original / National
Im Original-Modus wird versucht, eine C64-Tastatur physikalisch
möglichst genau auf eine Amiga-Tastatur abzubilden. In diesem
Modus sind dann z.B im Deutschen Y und Z vertauscht, die #-Taste
ist mit = belegt usw. Dieser Modus ist für Spiele sinnvoll, die
von einer bestimmten Lage der Tasten untereinander ausgehen.
In der Belegung National wird hingegen jede Taste entsprechend
der eingestellten nationalen Tastaturbelegung behandelt und in
den entsprechenden C64-Tastendruck übersetzt. Im nationalen Modus
kann es bei sehr schnellem Tippen dazu kommen, daß die Tastatur-
abfrage des C64-Betriebssystem keine Tastendrücke mehr erkennt.
Diese Blockade der Tastatur läßt sich mit der linken Amiga-Taste
aufheben.
In beiden Modi besitzen einige Tasten eine Spezialbedeutung:
- ESC friert den augenblicklichen Zustand der Emulation ein und
kehrt aus dem C64-Modus zum Emulatorfenster zurück. Dort können
Einstellungen vorgenommen werden, anschließend kann die Emu-
lation mit Start fortgesetzt werden.
- F9 Reset der C64-Emulation. Dabei wird auf ein Modul bei $8000
geprüft. Ist ein solches vorhanden, so wird das Modulprogramm
gestartet, ansonsten erscheint die Einschaltmeldung.
- F10 Hard-Reset der C64-Emulation. Der Modul-Check entfällt,
die Emulation kehrt auf jeden Fall zur Einschaltmeldung zurück.
- Enter hält die Emulation an, ohne den C64-Modus zu verlassen.
Wird ein weiteres Mal Enter gedrückt, wird die Emulation fort-
gesetzt. Diese Taste ist dann nützlich, wenn man z.B. in Spielen
eine Situation in Ruhe betrachten möchte. Denkbar ist auch,
den aktuellen Zustand des Screens mit einem Screengrabber-
Programm zu speichern.
- Ctrl entspricht der RUN/STOP-Taste des C64
- Help entspricht der RESTORE-Taste des C64
- Tab entspricht der Ctrl-Taste des C64
- Del entspricht der CLR/HOME des C64
- Die linke Alt-Taste entspricht der Commodore-Taste des C64
- Die rechte Alt-Taste entspricht dem @ des C64
- Die rechte Amiga-Taste entspricht dem ´ des C64
- Die linke Amiga-Taste löst im nationalen Modus einen Tastatur-
Reset aus.
- Alle vier Cursortasten des Amigas bewirken die äquivalente
C64-Funktion.
3.10 Floppy
Unter diesem Punkt werden Einstellungen vorgenommen, die die
Emulation einer 1541-Floppy betreffen. Die 1541-Emulation
arbeitet immer auf D64-Files. Näheres zu D64 Files unter dem
Punkt D64-Disks.
- Floppy an
Hier läßt sich die 1541-Emulation ausschalten, was sich
auf die C64-Emulation so auswirkt, als ob physikalisch
keine Floppy vorhanden wäre. Gibt man dann im C64-Modus
z.B LOAD"$",8 ein, so erhält man die Meldung DEVICE NOT
PRESENT. Das Ausschalten der Floppy kann dann Sinn machen,
wenn P00 oder T64-Programme, die immer Einteiler darstellen,
versuchen, irgendwelche Daten nachzuladen, z.B Highscore-
Listen.
- Schreibschutz
Bewirkt einen Schreibschutz für das aktuelle D64-File. Das
D64-File wird dann auch im Speicher nicht verändert. Diese
Option ist dann nüzlich, wenn man verhindern möchte, daß
Files geschrieben oder geändert werden.
- Warnung bei nicht unterstützen Kommandos
Eine richtige 1541 stellt eigentlich einen eigenständigen
Computer mit Prozessor, Ram und Betriebssystem dar. Die
1541-Emulation emuliert die 1541 jedoch nur auf Kommando-
ebene. Einige Kommandos, wie bzw. M-E (Memory-Execute), die
im Ram einer 1541 eigene Programme ausführen, werden deshalb
nicht unterstützt. Dies hat leider zur Folge, daß Programme,
die eigene Fastloader benutzen oder sonstige komplizierte
Aktionen (Kopierschutzabfrage) in der Floppy ausführen, nicht
funktionieren. Wird trotzdem versucht, solche Kommandos aus-
zuführen, dann wird der C64-Modus verlassen und eine Warnung
ausgegeben. Diese Warnungen kann man hier abstellen.
- Schreiben auf geschützte Disk
Normalerweise wird eine Warnung ausgegeben, wenn versucht
wird, auf eine schreibgeschütztes D64-Disk zu schreiben.
Diese Warnungen lassen sich hier abschalten.
3.11 D64-Disks
D64-Diskfiles sind Files, die jeweils eine Seite einer 1541-
Diskette repräsentieren. Dieses Format wurde von C64S, einem
C64-Emulator für den PC eingeführt. Mittlerweile hat es sich
zu einem der Standardformate für C64-Emulatoren entwickelt,
fast alle C64-Programme liegen im D64-Format vor. MagiC64 lädt
ein D64-File komplett in den Speicher, die 1541-Emulation führt
ebenfalls alle Operationen im Speicher aus. Möchte man also
Schreiboperationen dauerhaft sichern, so muß man das ganze
D64-File noch einmal explizit speichern. Diese Speicheroption
ist nur in der registrierten Version verfügbar.
- Auswahlrequester
Hier erscheint das Directory eines D64-Files, das vorher mit
"D64 laden" in den Speicher geladen wurde. Das Aussehen des
Directorys ist dabei dem Directory einer echten 1541-Disk
nachempfunden. Die erste Zeile zeigt den Namen der Diskette,
gefolgt von ID und Formatkennzeichen der Diskette. Ein
Anklicken der ersten Zeile macht keinen Sinn und führt deshalb
zu keiner Aktion. Die darauf folgenden Zeilen zeigen die
einzelnen Programme die im D64-File enthalten sind. Die Zahl
links gibt dabei die Größe des Programms in Blocks á 256 Bytes
an, es folgt der Programmname, die drei Buchstaben ganz rechts
geben den Programmtyp an. Doppelklick auf eine dieser Zeilen
führt nach einem Reset im Hintergrund zur Rückkehr in den
C64-Modus und dem Laden und Starten des Programms. In der
letzten Zeile des Requesters wird schließlich angegeben, wie-
viele Blöcke im D64-File noch frei sind.
- Laden
Lädt ein vorher ausgewähltes Programm vom D64-File in den
C64-Speicher. Es wird vor dem Laden KEIN Reset ausgeführt,
ferner erfolgt keine automatische Rückkehr in den C64-Modus.
Das Laden erfolgt mit sehr hoher Geschwindigkeit und dauert
selbst bei sehr langen Files (größer als 200 Blöcke) nur
wenige Sekunden. Es wird immer in den C64-Speicher geladen,
der I/O-Bereich wird beim Laden nicht überschrieben. Somit
ist es möglich, auch Programme zu laden, die größer als
202 Blöcke sind, dies ist auf einem echten C64 nur mit
speziellen Ladeprogrammen möglich.
- Laden+Starten
Ein Klick auf diesen Button löst die gleiche Aktion wie ein
Doppelklick auf einen Programmnamen im Auswahlrequester aus.
Im Gegensatz zu "Laden" wird jedoch zunächst ein RESET im
Hintergrund ausgeführt, außerdem wird automatisch in den
C64-Modus zurückgekehrt und das Programm gestartet.
- D64 laden
Es erscheint ein Standardfilerequester, in dem das gewünschte
D64-File ausgewählt werden kann. Das Directory dieses D64-Files
erscheint dann im Auswahlrequester. Diese Option entspricht
dem Einlegen einer Diskette in ein 1541-Laufwerk, sie muß auch
dann benutzt werden, wenn ein C64-Programm zu einem Diskwechsel
auffordert.
- Disk speichern
Speichert ein D64-File. Dies sollte man immer dann machen, wenn
man Änderungen an einem D64-File dauerhaft speichern möchte, da
die 1541-Emulation alle Änderungen an einem File nur im Speicher
vornimmt. "Disk speichern" ist nur in der registrierten Version
von MagiC64 möglich.
- Speichern
Schreibt ein Programm aus dem C64-Speicher in das aktuelle
D64-File im Speicher. Dies ändert das D64-File nur im Speicher.
Damit die Änderung Bestand hat, muß man zusätzlich "Disk
speichern" wählen. Für das Speichern gilt das gleiche wie
für das Laden: Hohe Geschwindigkeit, Speichern von Programmen
mit mehr als 202 Blöcken möglich.
- Formatieren
Formatiert ein D64-File im Speicher. Nach Klick auf diesen
Button wird man zu Eingabe des Disknamens und der Disk-ID
aufgefordert. Diese Option entspricht dem NEW-Kommando der
1541. Um eine leere Diskette zu erstellen, lädt man mit
"D64 laden" ein D64-File, wählt "Formatieren" und speichert
das File mit "Disk speichern" anschließend unter einem
ANDEREN Namen.
- Löschen
Löscht nach Rückfrage ein Programm aus einem D64-File im
Speicher. Diese Option entspricht dem SCRATCH-Kommando der
1541.
- Umbenennen
Benennt nach Rückfrage ein File auf einem D64-File im Speicher
um. Diese Option entspricht dem RENAME-Kommando der 1541.
- Initialisieren
Initialisiert nach Rückfrage ein D64-File im Speicher. Beim
Initialisieren wird die BAM einer Disk neu in den Speicher
gelesen. Dadurch können Disks mit gleicher ID unterschieden
werden. Diese Option entspricht dem INITIALIZE-Kommando der
1541.
- Validieren
Validiert nach Rückfrage ein D64-File im Speicher. Beim
Validieren eines D64-Files werden noch offene Files
geschlossen und die BAM wird aktualisiert. Diese Option
entspricht dem VALIDATE-Kommando der 1541.
3.12 T64-Tapes
Das T64-Tapefileformat stammt ebenfalls von C64S. In einem
T64-Tapefile können mehrere einzelne Programme enthalten
sein.
- Auswahlrequester
Hier erscheinen die Inhalte ALLER T64-Tapefiles, die im
aktuellen T64-Directory liegen. Bei Doppelklick auf einen
Programmnamen, wird automatisch das zugehörige T64-Tapefile
ausgewählt und aus diesem das entsprechende Programm in
den C64-Speicher geladen und gestartet.
- Laden
Lädt ein vorher ausgewähltes Programm aus einem T64-File
in den C64-Speicher. Es findet vorher KEIN Reset im
Hintergrund statt, nach dem Laden wird auch nicht auto-
matisch in den C64-Modus zurückgekehrt. Für das Laden
gelten sonst die gleichen Eigenschaften wie für das
Laden aus einem D64-File.
- Laden+Starten
Löst die gleiche Aktion wie ein Doppelklick auf einen
Programmnamen im Auswahlrequester aus: Reset im Hintergrund,
Rückkehr in den C64-Modus, Laden und Starten des Programms.
- Speichern
Speichert nach Rückfrage ein Programm aus dem C64-Speicher
als T64-Tapefile. Beim Namen kann angegeben werden, unter
welchem Namen das Programm im Auswahlrequester erscheinen
soll. Gespeichert wird der Bereich, der in den Speicherstellen
$2B/$2C bis $2D/$2E angegeben wird, was dem normalen SAVE-
Befehl entspricht. Beim Speichern wird immer aus dem RAM des
C64 gelesen, es können somit Programme gespeichert werden,
deren Endadresse über $CFFF liegt. Es wird immer ein neues
T64-Tapefile erzeugt, ein bereits existierendes File wird
überschrieben. Die Option "Speichern" ist nur in der regist-
rierten Version von MagiC64 verfügbar.
- T64-Directory
Es erscheint ein Standardfilerequester, in dem das neue
T64-Directory ausgewählt werden kann. Wurde durch Klick auf
"OK" ein neues T64-Directory gewählt, so werden alle Files
in diesem Directory darauf untersucht, ob es T64-Tapefiles
sind. Dies kann bei sehr vielen Files in einem Directory
etwas länger dauern. Schließlich erscheinen die Inhalte
der T64-Tapefiles im aktualisierten Auswahlrequester.
3.13 P00-Files
Das P00-Format wurde im PC-Bereich von dem C64-Emulator PC64
eingeführt. Jedes P00-File repräsentiert ein einzelnes C64-
Programm.
- Auswahlrequester
Hier erscheinen die Inhalte ALLER P00-Files, die im
aktuellen P00-Directory liegen. Bei Doppelklick auf einen
Programmnamen, wird automatisch das zugehörige P00-File
ausgewählt und aus diesem das entsprechende Programm in
den C64-Speicher geladen und gestartet.
- Laden
Lädt ein vorher ausgewähltes Programm aus einem P00-File
in den C64-Speicher. Es findet vorher KEIN Reset im
Hintergrund statt, nach dem Laden wird auch nicht auto-
matisch in den C64-Modus zurückgekehrt. Für das Laden
gelten sonst die gleichen Eigenschaften wie für das
Laden aus einem D64-File.
- Laden+Starten
Löst die gleiche Aktion wie ein Doppelklick auf einen
Programmnamen im Auswahlrequester aus: Reset im Hintergrund,
Rückkehr in den C64-Modus, Laden und Starten des Programms.
- Speichern
Speichert nach Rückfrage ein Programm aus dem C64-Speicher
als P00-Tapefile. Beim Namen kann angegeben werden, unter
welchem Namen das Programm im Auswahlrequester erscheinen
soll. Gespeichert wird der Bereich, der in den Speicherstellen
$2B/$2C bis $2D/$2E angegeben wird, was dem normalen SAVE-
Befehl entspricht. Beim Speichern wird immer aus dem RAM des
C64 gelesen, es können somit Programme gespeichert werden,
deren Endadresse über $CFFF liegt. Es wird immer ein neues
P00-File erzeugt, ein bereits existierendes File wird über-
schrieben. Die Option "Speichern" ist nur in der regist-
rierten Version von MagiC64 verfügbar.
- P00-Directory
Es erscheint ein Standardfilerequester, in dem das neue
P00-Directory ausgewählt werden kann. Wurde durch Klick auf
"OK" ein neues P00-Directory gewählt, so werden alle Files
in diesem Directory darauf untersucht, ob es P00-Files
sind. Dies kann bei sehr vielen Files in einem Directory
etwas länger dauern. Schließlich erscheinen die Inhalte
der P00-Files im aktualisierten Auswahlrequester.
3.14 Diskstatus
Zeigt den aktuellen Status der 1541-Emulation an. Die Status-
meldung besteht dabei aus Nummer, Text, Track und Sektor.
- Status lesen
Hiermit kann der Status eingelesen bzw. auf den OK-Status
zurückgesetzt werden.
3.15 Starten
Na was wohl ? Startet die Emulation bzw. setzt sie dort fort,
wo sie zuletzt eingefroren wurde.
3.16 Beenden
Beendet die Emulation und verläßt den Emulator.
IV Die Floppy-Emulation
4.1 Grundsätzliches
Die 1541-Floppy wird auf File- und Bufferebene emuliert. Der
6502-Prozessor und die restliche Hardware werden NICHT unter-
stützt. Als Filetyp ist im Augenblick nur der Typ PRG möglich,
sequentielle und relative Dateien werden noch nicht unterstüzt,
bereits vorhandene Dateien dieses Typs werden jedoch im Directory
angezeigt.
4.2 Unterstützte Operationen
- Laden (LOAD) und Speichern (SAVE) von Programmen
Beim Laden werden die Wildcards * und ? akzeptiert.
Das Speichern auf ein D64-File ist auch in der unregistrierten
Version von MagiC64 möglich, allerdings kann das D64-File
selbst nicht abgespeichert werden, sodaß Änderungen auf einer
D64-Disk in dieser Version nach dem Verlassen verloren gehen.
Das Speichern mit vorangestelltem @ (Überschreiben) funktioniert
im Gegensatz zu einer richtigen 1541 immer fehlerlos.
- Directory
Alle Filetypen, geschützte (<) und nicht geschlossene (*) Files
werden angezeigt. Wildcard-Auswahl und Filetypselektion beim
Laden ist ebenfalls möglich.
- Direktzugriff
Buffer innerhalb der Floppy können mit # reserviert werden, die
dann von bestimmten Floppy-Kommandos genutzt werden können.
- Fehlerkanal
Sämtliche Fehler- und Statusmeldungen werden unterstützt.
- Floppy-Kommandos
Scratch, Rename, Initialize, New und Validate werden voll
unterstützt. Der Copy-Befehl kann nur Files duplizieren, aber
keine Daten an existierende Files anhängen. Bei den Block-
Befehlen sind Block-Read, Block-Write, Block-Allocate und
Block-Free möglich, die äquivalenten User-Befehle können
ebenfalls genutzt werden. Die Memory-Befehle funktionieren
nur im Bufferaddressbereich. Der Bufferpointer kann mit dem
Buffer-Pointer Befehl gesetzt werden.
4.3 Nicht unterstützte Operationen
Alle Befehle, die Programme in der 1541 ausführen, funktionieren
nicht, also Block-Execute, Memory-Execute, die User-Befehle 3 bis
8, sowie der &-Befehl. Dies bedeutet, daß Programme, die eigene
Fastloader benutzen, nicht lauffähig sind.
V Häufig gestellte Fragen
5.1 Wie geht´s schneller ?
Die wichtigste Tuningmöglichkeit kann man in den Videoeinstellungen
vornehmen: Hier einfach unter "jedes (n)te Bild darstellen" eine
höhere Zahl eintragen. Außerdem kann man von PAL auf NTSC um-
schalten, dann werden intern nur 256 anstatt 312 Zeilen berechnet,
was die Emulation ebenfalls beschleunigt. Viele Programme, die
Sprites benutzen, machen keinen Gebrauch von der hardwaremäßigen
Sprite-Hintergrund-Kollisionserkennung, sodaß man diese in
den Sprite Einstellungen abschalten kann. Gleiches gilt auch für
die Sprite-Sprite Kollisionen, im Zweifelsfall aber: Einfach
ausprobieren !
5.2 Was auf dem Emulator nicht läuft
Alle Programme, die eigene Fastloader benutzen, sind auf dem
Emulator NICHT lauffähig. Sprites im seitlichen, sowie im
oberen und unteren Rahmen werden nicht dargestellt. Die
Sound-Emulation hat mit komplizierten Soundeffekten teilweise
Probleme. Grafikeffekte, die durch VIC-Manipulation innerhalb
einer Zeile erzielt werden, werden nicht korrekt dargestellt.
5.3 Warum reagiert der Emulator nicht ?
Die Emulation wurde mit ENTER angehalten. Dann einfach nochmals
ENTER drücken und weiter gehts. Im nationalen Tastaturmodus
klemmt die Tastatur nach schnellen Tastendrücken manchmal, hier
verschafft die linke Amiga-Taste Abhilfe. Manchmal wird der
Joystick auch im anderen C64-Port erwartet, die Umstellung auf
den anderen Port nimmt man in den Joystick-Einstellungen vor.
Mit der ESC-Taste sollte man den C64-Modus zu JEDEM Zeitpunkt
verlassen können, wenn nicht, liegt ein Fehler im Emulator vor.
VI Grüße und Danksagungen
Danke an:
Jochen Wiedmann für Flexcat.
Helmut Neumann für Beta-Testen.
Meine Schwester Katja für Hilfe bei der Übersetzung der
Anleitung.
Meinen Bruder Markus, der dieses Projekt jederzeit unter-
stützt und aufmunternd begleitet hat :-)
Grüße an:
Amiga Technologies für neue Amigas und das Anbieten dieser
Hightec-Produkte zu supergünstigen Preisen. Die Leute
können es sicher nicht erwarten, einen Amiga 4000 für
über 4000 DM zu kaufen, um damit einen C64 zu emulieren =:-(